package org.example.backend.utils;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

/**
 * @author 啊昌
 * @date 2025/7/19 12:20
 * BCryptUtils 密码加密 解密
 */
public class BCryptUtils {
	public static  BCryptPasswordEncoder passwordEncoder   = new BCryptPasswordEncoder();

	/**
	 * 检查原始密码是否与编码后的密码匹配。
	 *
	 * @param rawPassword     原始密码
	 * @param encodedPassword 编码后的密码
	 * @return 如果原始密码与编码后的密码匹配，则返回true；否则返回false
	 */
	public  static boolean checkPassword(String rawPassword, String encodedPassword) {
		return passwordEncoder.matches(rawPassword, encodedPassword);
	}

	/**
	 * 对原始密码进行编码。
	 *
	 * @param rawPassword 原始密码
	 * @return 返回编码后的密码
	 */
	public static String encode(String rawPassword) {
		return passwordEncoder.encode(rawPassword);
	}
}
